package com.choosefine.it.basedata.model;


import com.choosefine.it.base.Base;
import com.choosefine.it.worker.model.SkillsCcie;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.data.mongodb.core.mapping.Document;

import java.util.List;

/**
 * 用户信息
 * 
 * Field 的注解应用于影响Mongodb数据库的列名
 * JsonProperty 表示外面调用我们接口时传递对象的key名称
 * 
 * @author liaozhanggen
 *
 */
@ApiModel(value = "用户详情-发布的时候不用填", description = "用户详情基础数据模型")
@Document(collection = "qh_userinfo")
public class UserInfo extends Base{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	@ApiModelProperty(value = "主键ID", required = true)
	private int id;

	@ApiModelProperty(value = "帐号唯一标识符", required = true)
	private String uuid;
	
	/**
	 * 用户名
	 */
	@ApiModelProperty(value = "用户名", required = true)
    private String userName;

    
	/**
	 * 用户真实姓名
	 */
	@ApiModelProperty(value = "用户真实姓名", required = true)
    private String realName;

	/**
	 * 籍贯
	 */
	@ApiModelProperty(value = "籍贯", required = true)
    private String nativePlace;

    /**
     * 身高
     */
	@ApiModelProperty(value = "身高", required = true)
    private int height;

	/**
	 * 年龄
	 */
	@ApiModelProperty(value = "年龄", required = true)
    private int userAge;

    /**
     * 性别
     */
	@ApiModelProperty(value = "性别", required = true)
    private int sex;

	/**
	 * 学历
	 */
	@ApiModelProperty(value = "学历", required = true)
    private String education;

    /**
     * 户口地址
     */
	@ApiModelProperty(value = "户口地址", required = true)
    private String registAddress;

	 /**
     * 联系地址
     */
	@ApiModelProperty(value = "联系地址(租户详细地址)", required = true)
    private String contactAddress;
	
	/**
	 * 手机号码
	 */
	@ApiModelProperty(value = "手机号码", required = true)
    private String phoneNumber;

	/**
	 * 身份证号码
	 */
	@ApiModelProperty(value = "身份证号码", required = true)
    private String idcardNum;

	/**
	 * 身份证正面图片URL
	 */
	@ApiModelProperty(value = "身份证正面图片URL", required = true)
    private String idcardZurl;

	/**
	 * 身份证反面图片URL
	 */
	@ApiModelProperty(value = "身份证反面图片URL", required = true)
    private String idcardFurl;

	/**
	 * 用户类型
	 */
	@ApiModelProperty(value = "用户类型id", required = true)
    private int userType;

	/**
	 * 用户头像图片URL
	 */
	@ApiModelProperty(value = "头像", required = true)
    private String headIconUrl;
	
    /**
     * 技能证书
     */
	/*@ApiModelProperty(value = "技能证书", required = true)
    private String skillsCcie;*/

	@ApiModelProperty(value = "技能证书")
	private List<SkillsCcie> skillsCcie;

    /**
     * 工作年限 ，SQL计算,计算方式不知道的，找liaozhanggen
     */
	@ApiModelProperty(value = "工作年限", required = true)
	private int workExperience;

	@ApiModelProperty(value = "生日", required = true)
	private String birthday;

	@ApiModelProperty(value = "民族", required = true)
	private String national;

	@ApiModelProperty(value = "户口地址(省编号)")
	private String registProvinceCode;
	@ApiModelProperty(value = "户口地址(省名称)")
	private String registProvinceName;
	@ApiModelProperty(value = "户口地址(市编号)")
	private String registCityCode;
	@ApiModelProperty(value = "户口地址(市名称)")
	private String registCityName;

	@ApiModelProperty(value = "联系地址(省编号)")
	private String contactProvinceCode;
	@ApiModelProperty(value = "联系地址(省名称)")
	private String contactProvinceName;
	@ApiModelProperty(value = "联系地址(市编号)")
	
	private String contactCityCode;
	@ApiModelProperty(value = "联系地址(市名称)")
	private String contactCityName;

	@ApiModelProperty(value = "入驻年限,单位为天")
	private int stayYear;
	/**
	 * 
	 * @author liaozhanggen 2017年2月21日
	 */
	public UserInfo(String userCode) {
		super(userCode);
	}
	public UserInfo() {
	}

	public int getStayYear() {
		return stayYear;
	}

	public void setStayYear(int stayYear) {
		this.stayYear = stayYear;
	}

	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getUuid() {
		return uuid;
	}
	public void setUuid(String uuid) {
		this.uuid = uuid;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getRealName() {
		return realName;
	}
	public void setRealName(String realName) {
		this.realName = realName;
	}
	public String getNativePlace() {
		return nativePlace;
	}
	public void setNativePlace(String nativePlace) {
		this.nativePlace = nativePlace;
	}
	public int getHeight() {
		return height;
	}
	public void setHeight(int height) {
		this.height = height;
	}
	public int getUserAge() {
		return userAge;
	}
	public void setUserAge(int userAge) {
		this.userAge = userAge;
	}
	public int getSex() {
		return sex;
	}
	public void setSex(int sex) {
		this.sex = sex;
	}
	public String getEducation() {
		return education;
	}
	public void setEducation(String education) {
		this.education = education;
	}
	public String getRegistAddress() {
		return registAddress;
	}
	public void setRegistAddress(String registAddress) {
		this.registAddress = registAddress;
	}
	public String getContactAddress() {
		return contactAddress;
	}
	public void setContactAddress(String contactAddress) {
		this.contactAddress = contactAddress;
	}
	public String getPhoneNumber() {
		return phoneNumber;
	}
	public void setPhoneNumber(String phoneNumber) {
		this.phoneNumber = phoneNumber;
	}
	public String getIdcardNum() {
		return idcardNum;
	}
	public void setIdcardNum(String idcardNum) {
		this.idcardNum = idcardNum;
	}
	public String getIdcardZurl() {
		return idcardZurl;
	}
	public void setIdcardZurl(String idcardZurl) {
		this.idcardZurl = idcardZurl;
	}
	public String getIdcardFurl() {
		return idcardFurl;
	}
	public void setIdcardFurl(String idcardFurl) {
		this.idcardFurl = idcardFurl;
	}
	public int getUserType() {
		return userType;
	}
	public void setUserType(int userType) {
		this.userType = userType;
	}
	public String getHeadIconUrl() {
		return headIconUrl;
	}
	public void setHeadIconUrl(String headIconUrl) {
		this.headIconUrl = headIconUrl;
	}
	public List<SkillsCcie> getSkillsCcie() {
		return skillsCcie;
	}
	public void setSkillsCcie(List<SkillsCcie> skillsCcie) {
		this.skillsCcie = skillsCcie;
	}
	public int getWorkExperience() {
		return workExperience;
	}
	public void setWorkExperience(int workExperience) {
		this.workExperience = workExperience;
	}
	public String getBirthday() {
		return birthday;
	}
	public void setBirthday(String birthday) {
		this.birthday = birthday;
	}
	public String getNational() {
		return national;
	}
	public void setNational(String national) {
		this.national = national;
	}
	public String getRegistProvinceCode() {
		return registProvinceCode;
	}
	public void setRegistProvinceCode(String registProvinceCode) {
		this.registProvinceCode = registProvinceCode;
	}
	public String getRegistProvinceName() {
		return registProvinceName;
	}
	public void setRegistProvinceName(String registProvinceName) {
		this.registProvinceName = registProvinceName;
	}
	public String getRegistCityCode() {
		return registCityCode;
	}
	public void setRegistCityCode(String registCityCode) {
		this.registCityCode = registCityCode;
	}
	public String getRegistCityName() {
		return registCityName;
	}
	public void setRegistCityName(String registCityName) {
		this.registCityName = registCityName;
	}
	public String getContactProvinceCode() {
		return contactProvinceCode;
	}
	public void setContactProvinceCode(String contactProvinceCode) {
		this.contactProvinceCode = contactProvinceCode;
	}
	public String getContactProvinceName() {
		return contactProvinceName;
	}
	public void setContactProvinceName(String contactProvinceName) {
		this.contactProvinceName = contactProvinceName;
	}
	public String getContactCityCode() {
		return contactCityCode;
	}
	public void setContactCityCode(String contactCityCode) {
		this.contactCityCode = contactCityCode;
	}
	public String getContactCityName() {
		return contactCityName;
	}
	public void setContactCityName(String contactCityName) {
		this.contactCityName = contactCityName;
	}
}
